Use Case 2 High-rise Building and Public Transport
Authored by: JACK PHAM, BASILIA CARMEL SETHU
Duration: 90 mins
Level: Intermediate
Pre-requisite Skills: Python, Data Engineering and Spatial Analysis
Scenario

1. As a citizen, I want to have easy access to public transportation.

From a citizen/resident perspective, I want to have a good accessibility to public transportation. I seek to understand which areas of the city provides easiest access to transportation infrastructure like bus, train and tram stops.

2. As city planners, we want to make sure the supply of transportation infrastructure will meet demand.

From a leadership & strategic perspective as a council, we seek to invest in initiatives that effectively makes it easier to access public transportation. We want to prioritize the investments in areas with high demand and areas with difficult access to transport.

Objectives for the Exploratory Data Analysis

Using the power of data aggregation, we can combine Melbourne Open transport datasets such as bus, train and tram stops with other data like dwellings and begin to observe, analyze and report on geographical patterns between these datasets. Besides, we can apply spatial analysis techinques such as distance analysis, to evaluate the accessibilty to public transportation.

We can ask question such as:

  1. What are the areas where it's more difficult to have access to public transport?
  2. What are the areas with more demand for public transport, considering actual and future conditions?
  3. In the areas where the demand for transport is higher, is this demand being met?

Goals for the exploratory data analysis:

  1. Analyse the distance and time from properties locations to transport infrastructure (bus, train and tram stops)
  2. Analyse the number of dwellings on each area, considering both today's scenario and future forecasts.
  3. Analyse the relationship between the number of dwellings in an area and the access to transport infrastructure

This use case will involve some exploratory data analysis and aggregation of open data datasets. A source of inspiration for this use case comes from, the Centre for Urban Research at RMIT University. They published a critical policy brief in 2020 which articulated the Transport Impacts of New High Density Housing “Approvals for high-density housing in Australia have risen steeply, with the number of new apartments constructed each year tripling since 2009.1 In the last five years, apartments accounted for around 40% of all residential building approvals in Melbourne. 2 This has significant implications for transport and urban planning, including effects on road congestion, car parking, and overcrowding on public transport.”

Strategic benefits for City of Melbourne

This use case and exploratory data analysis project can support the City of Melbourne in the following ways:

  1. Support for the Melbourne ‘Transport Strategy 2030’ strategic vision and goals

  2. Influence the creation of a ‘Transport access indicator’ to monitor progress on transport accessibilty on Melbourne districts

  3. Support further discussion between City of Melbourne and Victorian transport partner agencies to improve transport accessibility programs

Exploratory Data Analysis Worflow Steps
  1. Access and read-in Melbourne data as Geopandas GeoDataFrames.
  1. Create simple map visualizations for those data to contextualize their extent.

  2. Calculate the number of dwellings on each region. We consider 3 approaches to define the regions.

    • Grid of square cells

    • CLUE blocks

    • CLUE small areas

  3. Explore how will the dwellings total change on each district over the next 20 years using dwellings forecast data.

  4. Explore the accessibility from dwellings to bus, train and tram stops. That includes calculating:

    • Distance from dwellings to stops

    • Walking time from dwellings to stops

    • Number of stops in a 300 meter radius of the dwellings

  5. Aggregate the calculated accessibility informations by Grid cell and by CLUE small areas. Then explore the correlation between number of dwellings and the access to transport infrastructure

Dataset list:

  1. Melbourne Open Data bus stops
  2. Melbourne Open Data train stops
  3. Melbourne Open Data tram stops
  4. Melbourne Open Data high rise dwellings
  5. Melbourne Open Data dwellings forecast
  6. Melbourne Open Data CLUE small areas
  7. Melbourne Open Data CLUE blocks

To begin the analysis we first import the necessary libraries to support our exploratory data analysis using Melbourne Open data.

The following are core packages required for this exercise:

Showing the map of Melbourne

Before starting the analysis, let's take a look at the surrounidngs of the city of Melbourne, which is our region of interest in this analysis

Data Extraction and Visualization

In this section, we will open the datasets necessary to perform our analysis, and also plot some of this datasets in order to get a glimpse at their content and spatial extent.

Dwellings

Let's open and visualize Dwellings data. This dataset contains the location and information about properties and dewllings

Opening data

Plotting map

Plotting data on high rise dwellings in Melbourne city, where the size of bubble denotes the number of residents. To achive that, we group buildings by block ID and CLUE small area and aggregate on Dwelling number totals.

Dwellings forecast

Let's open dwellings forecast data. This dataset have information about the expected number of dwllings by distric in every year, ranging from 2020 to 2040.

opening data

CLUE Blocks and Small Areas

Let's open and visualize CLUE blocks and Small areas data.

There are 13 standard predefined CLUE small areas within the City of Melbourne. These small areas are named after official place names and suburbs but are different from these places and suburbs.

The CLUE blocks refer to the census aream and is divided into 606 city blocks, each of which is identified by a unique block number. These blocks are primarily bounded by main roads and also take into account similar space use.

Opening data

Bus stops

Let's open and visualize bus stops data. This dataset has the location of bus stops in the city of Melbourne

Opening data

Plotting map

Train stops

Let's open and visualize train stops data. This dataset has the information on the location of train stops in the city of Melbourne

Opening data

plotting map

Tram stops

Let's open and visualize tram stops data. This dataset has the location of tram stops in the city of Melbourne

Opening data

Plotting map

Analysis of the number of dwellings

In this section we will visualize and analyse the dwelllings distribution over the city of Melbourne

To explore this data, we will aggregate them by 3 different limits:

Here we define the functions that allow us to aggregate the data by this 3 limits.

The 'create grid' function creates a grid GeoDataFrame using the desired number of cells

The 'summarize_within' function aggregates spatial data using spatial operations

By grid cell

Below, we create a squared grid using the functions described previously. Then we calculate the total number of dwellings on each cell of the grid, and plot this on the map.

By CLUE blocks

Below we calculate the total number of dwellings on each clue block, and plot this on the map.

By CLUE small areas

Below we calculate the total number of dwellings on each CLUE Small Area, and plot this on the map.

Dwellings forecast

Let's perform some analysis on the dwelling forecast between 2020 and 2040. This is important because we need to know not only which areas are impacted by the lack of public transport today, but also which areas might be affected in the future if the current transport scenario stays the same

In the cell below, we create 2 DataFrames from the original Dwellings forecast DataFrame. One of the created dataframes contains the records of Dwellings forecast for 2020 and the other one contains Dwellings forecast for 2040

Below we create an interactive bar chart to visualize how the number of dwellings can potentially change between 2020 and 2040. You can click on the drop-down to choose between 'All', '2020' or '2040' Dwellings forecast.

Let's calculate the rate of change in the number of dwellings between 2020 and 2040. That rate is given by:

$rate = (\frac{dwellings_{2040}-dwellings_{2020}}{dwellings_{2020}})*100$

Public transportation

In this section we are interested in exploring each region's accessibility to transportation

To achieve this, below we define some functions that will help us calculate 2 important information:

  1. The euclidian (straight line) distance between each property and the closest stop (bus, train and tram)

  2. How many stops (bus, tram and train) exists within a 300 meters radius of each property

We also want to create a function to find the walking time from each property to the closest stop (bus, train and tram). This is important because the shortest straight line distance does not necessarily imply in the shortest walking time. For that, we use Open Source Routing Machine (OSRM). This is an open-source API that allows calculating routes using Open Street Maps road system.

In the code below, we define the functions that will allow us to calculate the walking time

here we effectively use the functions defined previuosly, in order to calcuate the straight line distance and walking time informations between dwellings and stops.

Analysis by grid cell

Let's aggregate the transport access information obtained previously by the square grids that we have created earlier. Doing this we can analize the relationship between transportation and the number of dwellings on each cell

Now, let's create an interactive scatter plot between the number of dwellings and the transportation access information of each grid cell.

By clicking the drop-down you can choose between 'All', 'bus', 'train' or 'tram' transport types. When you select one of them it is also shown (in the title of the figure) the Pearson correlation coefficient between the number of Dwellings and the accessibility information of that plot

Initially, in the code below we define a function that allows plotting the interactive scatter plot

Scatter plot of the average distance between properties and the closest stop (bus, train or tram) on each cell

Scatter plot of the average walking time between properties and the closest stop (bus, train or tram) on each cell

Scatter plot of the average number of stops (bus, train or tram) in a 300 meters around properties on each cell

Analysis by CLUE small area

Let's aggregate the transportation accessibility information by CLUE small area. This way we can explore how each district performs

In the following charts and maps visualizations we can see which CLUE small areas have more issues regarding the difficulty to reach transportation stops.

Bar charts

In the code below, we crate a function that allows plotting the interactive bar charts.

By clicking the drop-down you can choose between 'All', 'bus' 'train' and 'tram' transportation types

Bar chart of the average distance between properties and the closest stop (bus, train or tram) on CLUE Small Area

Bar chart of the average walking time between properties and the closest stop (bus, train or tram) on each CLUE Small Area

Bart chart of the average number of stops (bus, train or tram) in a 300 meters around properties on each CLUE Small Area

Maps

In the code below, we crate a function that allows plotting the interactive maps.

By clicking the drop-down you can choose between 'bus' 'train' and 'tram' transportation types

Map of the average distance between properties and the closest stop (bus, train or tram) on CLUE Small Area

Map of the average walking time between properties and the closest stop (bus, train or tram) on each CLUE Small Area

Map of the average number of stops (bus, train or tram) in a 300 meters around properties on each CLUE Small Area

This analysis has provided a comprehensive starting point for inspecting the Melbourne Open Data Transport data and Dwellings dataset.

We achieved in this analysis:

We learned from this analysis:

As a preliminary view, the analysis shows that

Future work: